Introduction

SLaTeX is a Scheme program that allows you to write program code (or code fragments) ``as is'' in your LaTeX [5] or TeX [4] source. (See the last section for using SLaTeX with Plain TeX.) SLaTeX is particularly geared to the programming languages Scheme [2] and other Lisps, e.g., Common Lisp [6]. The formatting of the code includes assigning appropriate fonts to the various tokens in the code (keywords, variables, constants, data), at the same time retaining the proper indentation when going to the non-monospace (non-typewriter) fonts provided by TeX. SLaTeX comes with two databases that recognize the standard keywords/variables/constants of Scheme and Common Lisp respectively. These can be modified by the user using easy TeX commands. In addition, the user can inform SLaTeX to typeset certain identifiers as specially suited LaTeX expressions (i.e., beyond just fonting them). All this is done without interfering with the identifier conventions of the language of the programming code at all. In sum, no change need be made to your (presumably running) program code in order to get a typeset version suited to the particular need: you can get a spectrum of styles ranging from no fonting through basic default fonting to various ``mathematical''-looking output for pedagogic or other reasons.

The following section will introduce you to the basic use of SLaTeX with a small example. Section 3 gives a complete description of all the SLaTeX control sequences (which are listed alphabetically in Appendix A). These include commands for manipulating output positioning, enhancing the database, changing the fonting defaults, adding special symbols, and selective disabling of SLaTeX. Section 4 desribes how to set up a preamble that reflects your typesetting taste. Section 5 covers the use of SLaTeX with plain TeX. Appendix B contains information on obtaining and installing SLaTeX.